/***********************************************************************************************************
 *** @Author         : jiabao
 *** @Description    :
 *** @Date           : 2024-07-14 11:53:32
 *** @FilePath       : /makefile_demo/project/src/fileMgr.cpp
 ***********************************************************************************************************/
#include "fileMge.hpp"

FileMgr::FileMgr()
{
}
FileMgr::~FileMgr()
{
}
size_t FileMgr::get_file_size(const char *fileName)
{
    if (fileName == NULL)
    {
        return 0;
    }

    // 这是一个存储文件(夹)信息的结构体，其中有文件大小和创建时间、访问时间、修改时间等
    struct stat statbuf;

    // 提供文件名字符串，获得文件属性结构体
    stat(fileName, &statbuf);

    // 获取文件大小
    size_t filesize = statbuf.st_size;

    return filesize;
}
int FileMgr::get_exe_path(char *filePath, int pathMaxSize)
{
    int res = 0;
    if (filePath == NULL || pathMaxSize <= 0)
    {
        return res;
    }
#ifdef _WIN32
    res = GetModuleFileName(NULL, filePath, pathMaxSize - 1);
#elif __linux__
    res = readlink("/proc/self/exe", filePath, pathMaxSize - 1);
#endif
    return res;
}
